1. Field of the Invention
The invention relates in general to a data transmission method, and more particularly to a method for transmitting multimedia data packets in a network.
2. Description of the Related Art
Nowadays, transmitting multimedia information combining text, audio, picture, and video via a network is a very common network usage. Network users is expected to enjoy more and more multimedia services using the network as media. For instance, by using a “video on demand” (VOD) service, people can watch their favorite video or multimedia information immediately at any time by downloading via the network. Thus, people will not need to go to the cinema, or to go to the video shop for renting a video tape, or video compact disk for watching at home. It is thanks to the development of network technology that brings people more efficient, more convenient, and better quality services.
Referring to FIG. 1, it illustrates a conventional network transmission system. A transmission end 102 first dissembles data to be transmitted, denoted as data_in, into a set of packets 103. An encoder 104 of transmission end 102 then encodes the set of packets 103. After that, the encoded packets 103 are sent to a router 108 in a network 106. On receiving packets 105, router 108 obtains the destination of the packets, determines a route for corresponding packets 109, and sends them to the destination, a receiving end 110. Finally, the required data are obtained at receiving end 110 by using a decoder 110 of receiving end 110 to decode packets 111.
Since the bandwidth of the network is fixed, only a maximum number of data are allowed to be transmitted. If there are too many data transmitting over the network, congestion occurs. When serious congestion occurs so that the router has to receive a large number of packets at a time in excess of the number of packets that the router can handle, bursty loss occurs that the router is to discard some received packets randomly so as to lessen its loading. Thus, the receiving end cannot receive the data sent from the transmission end completely. In the case of discarding packets containing relatively unimportant information of the whole delivered information, the influence on the reading and using of the whole delivered information is insignificant. However, in the case of discarding packets containing important portion of the whole delivered information, the influence on the reading and using of the whole delivered information is significant. In this way, the quality of service (QoS) is reduced.
In order to reduce the influence of bursty loss due to network congestion on the quality of service, error recovery is applied. There are two conventional approaches to error recovery. One is automatic repeat request (ARQ) and the other is forward error correction (FEC). In ARQ, when a receiving end receives a packet from a transmission end, the receiving end sends an acknowledge message to the transmission end. After receiving the acknowledgment message from the receiving end, the transmission end sends the next packet. If the transmission end does not receive the acknowledgment message from the receiving end within a predetermined time period, it indicates that the packet could be discarded by the router and thus was not delivered to the receiving end. Thus, the transmission end re-transmits the packet so that the receiving end can receive the packet correctly. In FEC, a number of redundancy packets are added to each packet to be sent. In addition, if the number of packets which are discarded by the router due to network congestion does not exceed the number of the packets added to each packet, the discarded packets are recoverable at the receiving end.
When ARQ approach is applied, a predetermined time is set at the transmitting end, and the transmitting end waits for the response of the receiving end within the predetermined time. If the predetermined time is insufficiently short, it may occur that the transmitting end does not receive the response packet after waiting for the predetermined time, and the packet, in fact, is not discarded and the response packet is delayed due to network congestion. Because of the misinterpretation, the transmission end re-transmits the packet that has been received by the receiving end. In this way, the network traffic is increased and the loading of the router is increased. On the other hand, if the predetermined time is too long, the time between succeeding transmitted packets is long as well. For transmitting real-time multimedia information, if the time between succeeding transmitted packets is long, the multimedia information cannot be played at the receiving end in a real-time manner. Thus, it affects the quality of service of the multimedia information provided by the network. Further, the error detection time for re-transmitting packets are related to the predetermined time and the degree of network congestion which cannot be predicted such that the predetermined time is difficult to be determined. Moreover, it may occur that the packet sent by the transmission end is not discarded but the response packet sent by the receiving end is discarded by the router. In this case, the transmission end re-transmits the packet due to the misinterpretation, and hence the network bandwidth is wasted on retransmission, and the loading of the router is increased.
If FEC approach is applied, the disadvantage of ARQ approach does not occur since FEC approach is not to re-transmit packets for resolving the problem of burty loss, but to add a number of redundancy packets to each packet. In addition, the more important the information is, the more the redundancy packets are added to the packets of the information. In this way, data recovery of the packets becomes more probable. However, in the case of network congestion, the addition of the redundancy packets makes the degree of network congestion worse, occupies more bandwidth, and increases the loading of the router so that bursty loss occurs easily.
Motion Picture Experts Group (MPEG) standard is the widely used standard for video coding and compression. Thus, MPEG standard is taken as an example as follows. In MPEG standard, there are three types of video frame: I-frame, P-frame, and B-frame. Multimedia information is stored by using a group of pictures (GOP) as the data storage unit, and a GOP includes fifteen frames, each of which contains one I-frame, four P-frames, and ten B-frames.
Referring to FIG. 2, it illustrates the relation among different frames of a GOP in MPEG format. In FIG. 2, Xji is an identifier indicating the j-th X type video frame of the i-th GOP. For instance, B21 indicates the second B-frame of the first GOP. In addition, the arrows among the identifiers indicate which of the frames (pointed to by an arrowhead) required to be referred to when a frame is being read. In FIG. 2, data of an I-frame is to be compressed completely with the Joint Photographic Experts Group (JPEG) format. Data of each P-frame stores the difference between the P-frame and either a previous I-frame or P-frame. Data of each B-frame stores the differences between the B-frame, either a previous I-frame or P-frame, and either a next I-frame or P-frame. Therefore, I-frame type is the largest frame type in data size, and the P-frame type is larger than the B-frame type in data size, wherein the B-frame type is the smaller frame type in data size. The display for an I-frame can be derived from I-frame directly. As for obtaining the display for a P-frame, an I-frame is to be referred to. In addition, for obtaining the display for a B-frame, both an I-frame and a P-frame are to be referred to. As described above, the characteristic of the decoding of a frame type that involves referring to other types of frames is called interframe dependency. Since MPEG compression format is of interframe dependency, importance of each frame type is different and the importance of a frame type is determined by the degree of being referred to. The more a frame is to be referred to by the other frames, the more important the frame to be referred to is. For MPEG format, the sequence of importance of frame types measured from the most to the less is: I-frame>P-frame>B-frame.
Moreover, since MPEG format has interframe dependency, data of the frames of higher importance have to be transmitted to the receiving end more completely in the course of network transmission so that the multimedia information can be decoded and used at the receiving end smoothly. If data of the I-frame are not completely received by the receiving end, the multimedia information cannot be decoded at the receiving end even if the subsequent B-frames and P-frames of the GOP are transmitted to the receiving end successfully. Likewise, if data of the P-frames are not received, the relevant B-frames cannot be decoded successfully.
Referring to FIG. 3A, it illustrates a conventional method for determining a transmission sequence of the packets of a GOP in MPEG format, wherein the GOP has six packets of I-frame, ten packets of P-frames, and twelve packets of B-frames. In FIG. 3A, letters i, p, and b denote one I-frame, P-frame, and B-frame packets respectively. The conventional method is to transmit the packets according to their importance. Firstly, the most important I-frame packets are transmitted. Then, the less important P-frame packets are transmitted. Finally, the B-frame packets are transmitted.
Bursty loss, as described above, occurs in a network that a router discards a set of contiguous packets at a time. Referring to FIGS. 3B to 3D, they illustrate burty loss when packets of multimedia information in MPEG format are transmitting by using the conventional method. In FIGS. 3B to 3D, a dotted rectangle is used to encircle the discarded packets when bursty loss occurs. Turning to FIG. 3B, when bursty packet loss occurs so that frame packets of less importance, such as the packets 302, are discarded, the influence on the receiving of the other frames of the GOP is insignificant. However, as shown in FIGS. 3C and 3D, when frame packets of high importance, such as the packets 304 in FIG. 3C or the packets 306 in FIG. 3D, are discarded, the other frames of the GOP will not be decoded and used successfully.
In brief, the conventional method has the following disadvantages.                1. When using ARQ technique, it is difficult to determine the predetermined time optimally since network congestion cannot be predicted. In addition, it may occur that the response packet sent from the receiving end is discarded by the router so that the transmission end re-transmits the packets.        2. When using FEC technique, a specific number of redundancy packets are added. In the case of network congestion, the addition of redundancy packets would make the degree of network congestion worse and bursty loss occur more easily.        3. For multimedia information stored and transmitted in a compression format of interframe dependency, when bursty loss occurs in frames of higher importance, the other frames, which are received completely, cannot be decoded and utilized.        